home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 February / PCWorld_2008-02_cd.bin / v cisle / pcwburn / pcwBurn.exe / pcwBurn.vbs
Text File  |  2007-12-08  |  5KB  |  146 lines

  1. 'On Error Resume Next 
  2. '''''''''''''' Konfigurace '''''''''''''''''''''''''
  3.  
  4. MyDisc="F:"
  5. Standard = "1"
  6. ' 1 = Vytvo°it pouze obraz ISO
  7. ' 2 = P°φmo vypßlit obsah slo₧ky
  8. ' 3 = Nejprve vytvo°it soubor ISO a teprve potΘ vypalovat
  9.  
  10.  
  11. '''''''''''''' Konec konfigurace '''''''''''''''''''''''''
  12.  
  13. If WScript.Arguments.Count > 1 Then 
  14. MsgBox("OΦekßvßm pouze jeden parametr, ale zadßny byly dva parametry. KonΦφm")
  15. WScript.Quit 
  16. End If 
  17.  
  18. If WScript.Arguments.Count = 0 Then 
  19. MsgBox("Nebyla zadßna cesta. KonΦφm")
  20. WScript.Quit 
  21. End If 
  22.  
  23. myFolder=WScript.Arguments.Unnamed(0)
  24.  
  25. Set WshShell = WScript.CreateObject("WScript.Shell")
  26. Set fso = CreateObject("Scripting.FileSystemObject")
  27. Set f = fso.GetFolder(myFolder)
  28. strMyFiles = WshShell.SpecialFolders("MyDocuments")
  29.  
  30. FolderSize= SetBytes(f.size)
  31. myLabel=Right(myFolder, Len(myFolder) - InStrRev (myFolder, "\", -1,1))
  32.  
  33. ImgBurnKey = WshShell.RegRead("HKCU\Software\ImgBurn\InstallDirectory")
  34. ImgBurnPath = ImgBurnKey & "\imgBurn.exe"
  35.  
  36. If Not(fso.FileExists(ImgBurnPath)) Then MsgBox (ImgBurnKey & " nenalezen.Je aplikace nainstalovßna?")
  37.  
  38. ' Dest folder
  39. myDestFolder=strMyFiles & "\Moje ISO"
  40. If Not (fso.FolderExists(myDestFolder)) Then 
  41.    Set f = fso.GetFolder(strMyFiles)
  42.    Set fc = f.SubFolders
  43.    Set nf = fc.Add("Moje ISO")
  44. End If
  45. If Not (fso.FolderExists(myDestFolder)) Then 
  46.  MsgBox("Nepoda°ilo se vytvo°it slo₧ku " & myDestFolder & " . KonΦφm")
  47.  WScript.Quit 
  48. End If
  49.  
  50. strFrage="Chcete ze slo₧ky " & myFolder & " (" & FolderSize &") vytvo°it obraz ISO nebo ji chcete rovnou vypßlit na disk?" &_
  51. Chr(13) & Chr(13) & "(1) Vytvo°it pouze obraz ISO" & Chr(13) & "(2) P°φmo vypßlit" & Chr(13) & "(3) Chcete nejprve vytvo°it obraz ISO a potΘ jej vypßlit na disk" & Chr(13)
  52. Input = InputBox(strFrage, "Vytvo°it/vypßlit obraz ISO", Standard) 
  53.  
  54. If (Input <> "1") AND  (Input <> "2") AND (Input <> "3") Then 
  55. MsgBox("KonΦφm")
  56. WScript.Quit 
  57. End If 
  58.  
  59. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  60. ' Jen ISO 
  61. If Input ="1" Then
  62. cmd=ImgBurnPath & " /ROOTFOLDER YES /OVERWRITE YES /CLOSESUCCESS /NOIMAGEDETAILS /VOLUMELABEL " & DblQuote(myLabel) &_
  63.  " /MODE ISOBUILD /START /FILESYSTEM " & DblQuote("ISO9660 + Joliet") &_
  64.  " /BUILDMODE IMAGEFILE /SRC " & DblQuote(myFolder) &_
  65.  " /DEST " & DblQuote(myDestFolder & "\" & myLabel & ".ISO")
  66.   Result=WshShell.Run (cmd, 1, True)
  67.   End If
  68.  
  69. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  70. ' p°φmo vypßlit 
  71. If Input ="2" Then
  72. cmd=ImgBurnPath & " /ROOTFOLDER YES /OVERWRITE YES /CLOSESUCCESS /NOIMAGEDETAILS /VOLUMELABEL " & DblQuote(myLabel) &_
  73.  " /MODE ISOBUILD /START /FILESYSTEM " & DblQuote("ISO9660 + Joliet") &_
  74.  " /BUILDMODE DEVICE /SRC " & DblQuote(myFolder) &_
  75.  " /DEST " & MyDisc
  76.  
  77.  Result=WshShell.Run (cmd, 1, True)  
  78.  
  79. End If
  80. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  81. ' vytvo°it ISO a potom vypßlit 
  82. If Input ="3" Then
  83.  cmd=ImgBurnPath & " /ROOTFOLDER YES /OVERWRITE YES /CLOSESUCCESS /NOIMAGEDETAILS /VOLUMELABEL " & DblQuote(myLabel) &_
  84.  " /MODE ISOBUILD /START /FILESYSTEM " & DblQuote("ISO9660 + Joliet") &_
  85.  " /BUILDMODE IMAGEFILE /SRC " & DblQuote(myFolder) &_
  86.  " /DEST " & DblQuote(myDestFolder & "\" & myLabel & ".ISO")
  87.  
  88. ' Spustit a Φekat
  89.  Result=WshShell.Run (cmd, 1, True) 
  90.  
  91. If Not(fso.FileExists(myDestFolder & "\" & myLabel & ".ISO")) Then 
  92.   MsgBox("Chyba p°i vytvo°enφ souboru ISO. KonΦφm")
  93.   WScript.Quit 
  94. End If
  95.  
  96. ' Vypßlit obraz ISO
  97.  cmd=ImgBurnPath & " /ROOTFOLDER YES /OVERWRITE YES /CLOSESUCCESS /NOIMAGEDETAILS /VOLUMELABEL " & DblQuote(myLabel) &_
  98.  " /MODE ISOBUILD /START /FILESYSTEM " & DblQuote("ISO9660 + Joliet") &_
  99.  " /BUILDMODE DEVICE /SRC " & DblQuote(myDestFolder & "\" & myLabel & ".ISO") &_
  100.  " /DEST " & MyDisc
  101.  Result=WshShell.Run (cmd, 1, True) 
  102.  End If
  103.  
  104. 'Ende
  105. MsgBox("Hotovo")
  106.  
  107.  
  108. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  109. ''''''''''''''''' PomocnΘ funkce ''''''''''''''''''''''''''''''''''
  110. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  111.  
  112. Function DblQuote (myString)
  113. DblQuote = Chr(34) + myString + Chr(34)
  114. End Function 
  115.  
  116. Function SetBytes(Bytes)
  117.  
  118. If Bytes >= 1073741824 Then
  119.     SetBytes = FormatNumber(Bytes / 1024 / 1024 / 1024, 2) & " GB"
  120. ElseIf Bytes >= 1048576 Then
  121.     SetBytes = FormatNumber(Bytes / 1024 / 1024, 2) & " MB" 
  122. ElseIf Bytes >= 1024 Then
  123.     SetBytes = FormatNumber(Bytes / 1024, 2) & " KB"
  124. ElseIf Bytes < 1024 Then
  125.     SetBytes = Bytes & " Bytes"
  126. Else
  127.     SetBytes = "0 Bytes"
  128. End If
  129.  
  130. End Function
  131.  
  132. Function SetBytes2(Bytes)
  133.  
  134. If Bytes >= 1073741824 Then
  135.     SetBytes = Round(FormatNumber(Bytes / 1024 / 1024 / 1024, 2), 0) & "GB"
  136. ElseIf Bytes >= 1048576 Then
  137.     SetBytes = Round(FormatNumber(Bytes / 1024 / 1024, 2), 0) & " MB"
  138. ElseIf Bytes >= 1024 Then
  139.     SetBytes = Round(FormatNumber(Bytes / 1024, 2), 0) & " KB"
  140. ElseIf Bytes < 1024 Then
  141.     SetBytes = Bytes & " Bytes"
  142. Else
  143.     SetBytes = "0 Bytes"
  144. End If
  145.  
  146. End Function